Перейти к основному содержимому

Util

Модуль с различными утилитами для API компьютера!


Функции

positiveModulo

sc.util.positiveModulo( a, b )

Получает остаток деления.

А вы знали?

Эта функция бесполезна, и я не знаю, зачем вам она нужна. Это просто проверка, что делитель не 0!

Фактически sc.util.positiveModulo — это то же самое, что sm.util.positiveModulo. Фактически 1:1!

Это не значит, что мы его переопределили. У нас есть только эта функция, чтобы вы не могли сломать игру! Спасибо разработчикам SM за то, что не добавили 1 ОШИБКА: ПРОВЕРЬТЕ ДЕЛЕНИЕ НА НОЛЬ.

Давайте взглянем на наш код для предотвращения сбоев:

---Получает остаток от деления. Эта функция более безопасна, чем sm.util.postiveModule, так как по какой-то причине Scrap Mechanic
---не проверяет деление на 0 для sm.util.postiveModule, поэтому он крашит игру.
---@param a number Число, которое нужно разделить и получить его остаток
---@param b number Делитель
---@return number remainder Остаток, который невозможно разделить
sc.util.postiveModulo = function (a, b)
if b == 0 then
error("Нельзя делить на 0!")
else
return sm.util.positiveModulo(a, b)
end
end

Это код, который мы должны использовать, чтобы вы не могли аварийно завершить игру. Если вы не думаете, что можете крашнуть игру, включите небезопасный режим, вставьте это в компьютер и запустите его.

sm.util.positiveModulo(0, 0) -- Первый параметр может быть любым числом

И когда вы его запустите. Scrap Mechanic вылетет сам, потому что получил ошибку «Деление на ноль», которая не была обработана, и вы получите сообщение об ошибке!

ТАК ЧТО К ЧЁРТУ ВАС, РАЗРАБОТЧИКОВ SCRAP MECHANIC, ЗА ТО, ЧТО ВЫ НЕ СМОГЛИ ВЫПОЛНИТЬ 1 ПРОВЕРКУ ОБРАБОТКИ ОШИБОК, КОТОРАЯ МОГЛА ЗАНЯТЬ ВСЕГО ПАРУ СЕКУНД!

Аргументы:

  • a [ number ] Число, которое нужно разделить и получить его остаток.
  • b [ number ] Делитель.

Возвращает:

  • [ number ] Остаток от деления.

generateNumberGradient

sm.scrapcomputers.util.generateNumberGradient( numbers, numNumbers )

Эта функция создаёт интерполированный градиент между указанными числами, который зависит от заданной величины градиента.

Аргументы:

  • colors [ Color[] ] Таблица цветов для создания градиента.
  • numColors [ integer ] Степень смешивания каждого цвета в таблице градиентов.

Возвращает:

  • [ number[] ] Созданный градиент.